package com.itheima.d8_generics_method;

import java.util.ArrayList;

public class Test2 {
    public static void main(String[] args) {
        // 需求：所有的汽车可以一起参加比赛。
        ArrayList<Car> list1 = new ArrayList<>();
        ArrayList<BENCHI> list2 = new ArrayList<>();
        ArrayList<BAOMA> list3 = new ArrayList<>();
        ArrayList<LANBOJINI> list4 = new ArrayList<>();
        ArrayList<DAZHONG> list5 = new ArrayList<>();

        match(list1);
        match(list2);
        match(list3);
        match(list4);
        match(list5);

        System.out.println("--------------");
        //只能访问兰博基尼本类和其子类
//        math(list1);
//        math(list2);
//        math(list3);
        math(list4);
        math(list5);

        System.out.println("------------");
        math1(list1);
        math1(list2);
//        math1(list3);
//        math1(list4);
//        math1(list5);

    }

    //通配符？，可以任意类型
    public static void match(ArrayList<?> cars) {

    }

    //只能访问LANBOJINI和它的子类型
    public static void math(ArrayList<? extends LANBOJINI> cars) {

    }

    //只能访问BENCHI和它的父类型
    public static void math1(ArrayList<? super BENCHI> CARS) {

    }

}

class Car {

}

class BENCHI extends Car {

}

class BAOMA extends Car {

}

class LANBOJINI extends Car {

}

class DAZHONG extends LANBOJINI {

}